﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Framework.LogicaNegocio.Acesso;
using Framework.Entidade.Acesso;
using Framework.Util.Enumerador;
using System.Drawing;
using Framework.Util;

namespace Web.UserControls
{
    public partial class ucMenu : System.Web.UI.UserControl
    {
        #region Propriedades

        public string TelaDestino
        {
            get
            {
                if (ViewState["TelaDestino"] == null)
                    ViewState["TelaDestino"] = string.Empty;

                return ViewState["TelaDestino"].ToString();
            }
            set { ViewState["TelaDestino"] = value; }
        }

        #endregion

        #region Métodos

        public void CarregarFuncionalidades()
        {
            if (string.IsNullOrEmpty(TelaDestino) == false)
            {
                LN_Funcionalidade objFuncionalidadeLN = new LN_Funcionalidade();
                EN_Funcionalidade objFuncionalidade = new EN_Funcionalidade();
                List<EN_Funcionalidade> lstFuncionalidades = new List<EN_Funcionalidade>();

                try
                {
                    objFuncionalidade = objFuncionalidadeLN.RetornarFuncionalidade(0, TelaDestino);

                    if (objFuncionalidade != null)
                    {
                        lstFuncionalidades = objFuncionalidadeLN.Listar(objFuncionalidade.Id, string.Empty, StatusEnum.A.ToString());

                        ltvMenu.DataSource = lstFuncionalidades.OrderBy(func => func.Ordem);
                        ltvMenu.DataBind();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }

        #endregion

        #region Eventos

        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack == true) return;
        }

        protected void ltvMenu_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            Button btnFuncionalidade = e.Item.FindControl("btnFuncionalidade") as Button;
            Label lblCor = e.Item.FindControl("lblCor") as Label;

            if (btnFuncionalidade != null)
                btnFuncionalidade.Style.Add("border-bottom", string.Concat("4px solid ", lblCor.Text));
            //btnFuncionalidade.Style.Add("background-color", lblCor.Text);
        }

        #endregion
    }
}